'宣言 Public Overloads Function MeetsCriteria( _ ByVal filterConditions() As FilterCondition, _ ByVal logicalOperator As FilterLogicalOperator _ ) As Boolean
public bool MeetsCriteria( FilterCondition[] filterConditions, FilterLogicalOperator logicalOperator )
渡されたフィルター条件および論理演算子によって指定される基準を行が満たす場合、True を返します。論理演算子が And で、かつ行が filterConditions 配列内のすべての条件を満たす場合、このメソッドは True を返します。論理演算子が Or で、かつ行が少なくともひとつの条件を満たす場合、このメソッドは True を返します。そうでない場合には、False を返します。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub UltraGrid1_InitializeLayout(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles UltraGrid1.InitializeLayout ' Call RefreshFilters to cause the UltraGrid to reevaluate any filters and fire ' FilterRow event on every row. ' e.Layout.RefreshFilters() End Sub Private Sub UltraGrid1_FilterRow(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.FilterRowEventArgs) Handles UltraGrid1.FilterRow Dim band As UltraGridBand = e.Row.Band If "Customers" = band.Key Then Dim fc1 As FilterCondition = New FilterCondition(band.Columns("CustomerID"), FilterComparisionOperator.Like, "A*") Dim fc2 As FilterCondition = New FilterCondition(band.Columns("CustomerID"), FilterComparisionOperator.Like, "B*") ' Call MeetsCriteria off the row with the filter logical operator of Or to test if the row ' passes any of the filters specified in the filter conditions array. ' Dim rowPasses As Boolean = e.Row.MeetsCriteria(New FilterCondition() {fc1, fc2}, FilterLogicalOperator.Or) ' If the row does not pass the filter then filter it out otherwise reset its RowFilteredOut ' status. ' If Not rowPasses Then e.RowFilteredOut = True Else e.RowFilteredOut = False End If End If End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { // Call RefreshFilters to cause the UltraGrid to reevaluate any filters and fire // FilterRow event on every row. // e.Layout.RefreshFilters( ); } private void ultraGrid1_FilterRow(object sender, Infragistics.Win.UltraWinGrid.FilterRowEventArgs e) { UltraGridBand band = e.Row.Band; if ( "Customers" == band.Key ) { FilterCondition fc1 = new FilterCondition( band.Columns[ "CustomerID" ], FilterComparisionOperator.Like, "A*" ); FilterCondition fc2 = new FilterCondition( band.Columns[ "CustomerID" ], FilterComparisionOperator.Like, "B*" ); // Call MeetsCriteria off the row with the filter logical operator of Or to test if the row // passes any of the filters specified in the filter conditions array. // bool rowPasses = e.Row.MeetsCriteria( new FilterCondition[] { fc1, fc2 }, FilterLogicalOperator.Or ); // If the row does not pass the filter then filter it out otherwise reset its RowFilteredOut // status. // if ( ! rowPasses ) e.RowFilteredOut = true; else e.RowFilteredOut = false; } }